home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il_c / ilFileImg.z / ilFileImg
Encoding:
Text File  |  2002-10-03  |  35.7 KB  |  727 lines

  1.  
  2.  
  3.  
  4. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllFFFFiiiilllleeeeIIIImmmmgggg - image file access
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      ilLink : ilImage : ilCacheImg : ilMemCacheImg
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilCdefs.h>
  16.  
  17.  
  18. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.      This class is used to access the various file formats supported by IL.
  20.      It provides functions for common operations on files.  This is a wrapper
  21.      around the underlying file format support provided by the IFL layer.
  22.  
  23.      _i_l_F_i_l_e_I_m_g also supports the ability to store multiple images in a single
  24.      file.  iiiillllFFFFiiiilllleeeeIIIImmmmggggGGGGeeeettttCCCCuuuurrrrrrrreeeennnnttttIIIImmmmgggg(((()))), iiiillllFFFFiiiilllleeeeIIIImmmmggggSSSSeeeettttCCCCuuuurrrrrrrreeeennnnttttIIIImmmmgggg(((()))) and
  25.      iiiillllFFFFiiiilllleeeeIIIImmmmggggAAAAppppppppeeeennnnddddIIIImmmmgggg(((()))) are functions provided to move between images within
  26.      a file.
  27.  
  28. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  29.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrrssss
  30.  
  31.           ilFileImg* ilFileImgNull()
  32.           ilFileImg* ilFileImgOpen(const char* filename, int mode,
  33.                                    iflFormat* format)
  34.           ilFileImg* ilFileImgOpenByDescriptor(int fd, const char* filename,
  35.                                                int mode, iflFormat* format)
  36.           ilFileImg* ilFileImgOpenByIflDescriptor(iflFileDesc* desc,
  37.                                                   int mode)
  38.           ilFileImg* ilFileImgCreate(const char* filename, ilImage* source,
  39.                                      iflFileConfig* cfg, iflFormat* format)
  40.           ilFileImg* ilFileImgCreateByDescriptor(int fd, const char* filename,
  41.                                                  ilImage* source,
  42.                                                  iflFileConfig* cfg,
  43.                                                  iflFormat* format)
  44.           ilFileImg* ilFileImgCreateByIflDescriptor(iflFileDesc* desc,
  45.                                                     ilImage* source,
  46.                                                     iflFileConfig* cfg)
  47.  
  48.      OOOOppppeeeennnniiiinnnngggg,,,, ccccrrrreeeeaaaattttiiiinnnngggg aaaannnndddd cccclllloooossssiiiinnnngggg
  49.  
  50.           ilStatus ilFileImgOpenFile(ilFileImg *obj, const char* filename,
  51.                                      int mode, iflFormat* format)
  52.           ilStatus ilFileImgIlFileImgOpenFileByDescriptor(ilFileImg *obj,
  53.                                                           int fd,
  54.                                                           const char* filename,
  55.                                                           int mode,
  56.                                                           iflFormat* format)
  57.           ilStatus ilFileImgIlFileImgOpenFileByIflDescriptor(ilFileImg *obj,
  58.                                                              iflFileDesc* desc,
  59.                                                              int mode)
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  71.  
  72.  
  73.  
  74.           ilStatus ilFileImgCreateFile(ilFileImg *obj, const char* filename,
  75.                                        ilImage* source, iflFileConfig* cfg,
  76.                                        iflFormat* format)
  77.           ilStatus ilFileImgIlFileImgCreateFileByDescriptor(ilFileImg *obj,
  78.                                                             int fd,
  79.                                                             const char* filename,
  80.                                                             ilImage* source,
  81.                                                             iflFileConfig* cfg,
  82.                                                             iflFormat* format)
  83.           ilStatus ilFileImgIlFileImgCreateFileByIflDescriptor(ilFileImg *obj,
  84.                                                                iflFileDesc* desc,
  85.                                                                ilImage* source,
  86.                                                                iflFileConfig* cfg)
  87.           ilStatus ilFileImgCloseFile(ilFileImg *obj)
  88.  
  89.      QQQQuuuueeeerrrryyyyiiiinnnngggg aaaabbbboooouuuutttt ffffiiiilllleeee aaaattttttttrrrriiiibbbbuuuutttteeeessss
  90.  
  91.           int ilFileImgGetFileDesc(ilFileImg *obj)
  92.           int ilFileImgGetFileMode(ilFileImg *obj)
  93.           const char* ilFileImgGetFileName(ilFileImg *obj)
  94.           iflFormat* ilFileImgGetImageFormat(ilFileImg *obj)
  95.           const char* ilFileImgGetImageFormatName(ilFileImg *obj)
  96.           int ilFileImgGetNumImgs(ilFileImg *obj)
  97.  
  98.      MMMMuuuullllttttiiiipppplllleeee IIIImmmmaaaaggggeeee SSSSuuuuppppppppoooorrrrtttt
  99.  
  100.           int ilFileImgGetCurrentImg(ilFileImg *obj)
  101.           ilStatus ilFileImgSetCurrentImg(ilFileImg *obj, int idx)
  102.           ilStatus ilFileImgAppendImg(ilFileImg *obj, ilImage* source,
  103.                                       iflFileConfig* cfg)
  104.           iflFile* ilFileImgGetFileHandle(ilFileImg *obj)
  105.  
  106.      FFFFoooorrrrmmmmaaaatttt ssssppppeeeecccciiiiffffiiiicccc ssssuuuuppppppppoooorrrrtttt
  107.  
  108.           ilStatus ilFileImgGetItemV(ilFileImg *obj, int tag, va_list ap)
  109.           ilStatus ilFileImgSetItemV(ilFileImg *obj, int tag, va_list ap)
  110.  
  111.  
  112.    IIIICCCCCCCC pppprrrrooooffffiiiilllleeee aaaacccccccceeeessssssss
  113.           ilStatus ilFileImgGetICCProfile(ilFileImg *obj, int* size,
  114.                                           void** profile)
  115.           ilStatus ilFileImgFreeICCProfile(ilFileImg *obj, void* profile)
  116.           ilStatus ilFileImgSetICCProfile(ilFileImg *obj, int size,
  117.                                           const void* profile)
  118.  
  119.  
  120.  
  121. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  122.      iiiillllFFFFiiiilllleeeeIIIImmmmgggg(((())))
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  137.  
  138.  
  139.  
  140.           ilFileImg* ilFileImgNull()
  141.           ilFileImg* ilFileImgOpen(const char* filename, int mode,
  142.                                    iflFormat* format)
  143.           ilFileImg* ilFileImgOpenByDescriptor(int fd, const char* filename,
  144.                                                int mode, iflFormat* format)
  145.           ilFileImg* ilFileImgOpenByIflDescriptor(iflFileDesc* desc,
  146.                                                   int mode)
  147.           ilFileImg* ilFileImgCreate(const char* filename, ilImage* source,
  148.                                      iflFileConfig* cfg, iflFormat* format)
  149.           ilFileImg* ilFileImgCreateByDescriptor(int fd, const char* filename,
  150.                                                  ilImage* source,
  151.                                                  iflFileConfig* cfg,
  152.                                                  iflFormat* format)
  153.           ilFileImg* ilFileImgCreateByIflDescriptor(iflFileDesc* desc,
  154.                                                     ilImage* source,
  155.                                                     iflFileConfig* cfg)
  156.  
  157.  
  158.           The first version of the constructor is used to construct a place
  159.           holder image with no associated file (use ooooppppeeeennnnFFFFiiiilllleeee() or ccccrrrreeeeaaaatttteeeeFFFFiiiilllleeee()
  160.           to assocate a file later).  The next three versions of the
  161.           constructor are used to open an existing image file; the last three
  162.           are used to create a new image file.
  163.  
  164.           The file is specified via the _f_i_l_e_n_a_m_e and _f_d arguments.  At least
  165.           one of these two arguments must be specified; they are interpreted
  166.           as follows.
  167.  
  168.               if filename != NULL and fd == -1:
  169.                   opens the file with the given filename.
  170.               if filename == NULL and fd != -1:
  171.                   uses the existing open file descriptor.
  172.               if filename != NULL and fd != -1:
  173.                   uses the existing open file descriptor; the filename is
  174.                   stored solely for the ggggeeeettttFFFFiiiilllleeeeNNNNaaaammmmeeee() method and error messages.
  175.  
  176.           On open operations the file name may be followed by an optional
  177.           sub-image index using the syntax "filename:index" (see
  178.           sssseeeettttCCCCuuuurrrrrrrreeeennnnttttIIIImmmmaaaaggggeeee() for how to change the sub-image index after the
  179.           file is opened).
  180.  
  181.           On open operations the mode argument specifies the desired access
  182.           mode; it should be either _O__R_D_O_N_L_Y or _O__R_D_W_R.
  183.  
  184.           The _f_o_r_m_a_t argument specifies the desired file format.  The usual
  185.           usage is to use NULL in which case the file format is deduced by the
  186.           file typing rules using the file's contents ("magic number"); this
  187.           mechanism can be bypassed by specifying the format explicitly.  When
  188.           creating a file, the format is chosen by using the filename's
  189.           extension.  If no match is found, the format
  190.           iiiiffffllllFFFFoooorrrrmmmmaaaatttt::::::::ffffiiiinnnnddddBBBByyyyFFFFoooorrrrmmmmaaaattttNNNNaaaammmmeeee("TIFF") is used by default.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  203.  
  204.  
  205.  
  206.           The alternate forms taking a _d_e_s_c argument, encapsulate the _f_d,
  207.           _f_i_l_e_n_a_m_e and _f_o_r_m_a_t arguments in this single argument.  See
  208.           iflFileDesc(3) for more details.
  209.  
  210.           When creating a new image file, the dimensions, data type, dimension
  211.           order, color model, orientation, compression, and page dimensions
  212.           may be specified using the _c_f_g parameter; if not, they are copied
  213.           from the _s_o_u_r_c_e image if one was given (as described below) or
  214.           defaulted to the format's "preferred" value for the respective
  215.           parameter.
  216.  
  217.           When an existing _s_o_u_r_c_e image is specified; any parameters not
  218.           specified in the _c_f_g parameter will be copied from this source image
  219.           (if the value is supported by the destination format) or
  220.           heuristically selected to be a supported value most suitable for
  221.           copying data from the source image.
  222.  
  223.           If there is an error on the open or create operation an error will
  224.           be thrown with iiiillllEEEErrrrrrrroooorrrr() and the objects status will be set to an
  225.           appropriate value (which can be obtained using the ggggeeeettttSSSSttttaaaattttuuuussss()
  226.           method).
  227.  
  228.      aaaappppppppeeeennnnddddIIIImmmmgggg(((())))
  229.  
  230.           ilStatus ilFileImgAppendImg(ilFileImg *obj, ilImage* source,
  231.                                       iflFileConfig* cfg)
  232.  
  233.  
  234.           This method appends an image to the image file, and sets the current
  235.           image index to the index of the new (last) image.
  236.  
  237.           The _s_o_u_r_c_e and _c_f_g parameters are treated the same as in the
  238.           versions of the constructor that do image file creation.
  239.  
  240.           On success, the function returns iflOKAY.  If the operation fails
  241.           for some reason, an error will be thrown via the iiiillllEEEErrrrrrrroooorrrr()
  242.           mechanism, and the file's contents and the object's current index
  243.           will be in an unknown state.
  244.  
  245.      cccclllloooosssseeeeFFFFiiiilllleeee(((())))
  246.  
  247.           ilStatus ilFileImgCloseFile(ilFileImg *obj)
  248.  
  249.  
  250.           This method closes the associated iflFile, if any, and leaves the
  251.           image in an unuseable state until a new file is opened or created
  252.           with the ooooppppeeeennnnFFFFiiiilllleeee() or ccccrrrreeeeaaaatttteeeeFFFFiiiilllleeee() methods.
  253.  
  254.      ccccrrrreeeeaaaatttteeeeFFFFiiiilllleeee(((())))
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  269.  
  270.  
  271.  
  272.           ilStatus ilFileImgCreateFile(ilFileImg *obj, const char* filename,
  273.                                        ilImage* source, iflFileConfig* cfg,
  274.                                        iflFormat* format)
  275.           ilStatus ilFileImgIlFileImgCreateFileByDescriptor(ilFileImg *obj,
  276.                                                             int fd,
  277.                                                             const char* filename,
  278.                                                             ilImage* source,
  279.                                                             iflFileConfig* cfg,
  280.                                                             iflFormat* format)
  281.           ilStatus ilFileImgIlFileImgCreateFileByIflDescriptor(ilFileImg *obj,
  282.                                                                iflFileDesc* desc,
  283.                                                                ilImage* source,
  284.                                                                iflFileConfig* cfg)
  285.  
  286.  
  287.           These methods are used to create a new image file and associate it
  288.           with this object.
  289.  
  290.           The file is specified via the _f_i_l_e_n_a_m_e and _f_d arguments.  At least
  291.           one of these two arguments must be specified; they are interpreted
  292.           as follows.
  293.  
  294.               if filename != NULL and fd == -1:
  295.                   creates the file with the given filename.
  296.               if filename == NULL and fd != -1:
  297.                   uses the existing open file descriptor.
  298.               if filename != NULL and fd != -1:
  299.                   uses the existing open file descriptor; the filename is
  300.                   stored solely for the ggggeeeettttFFFFiiiilllleeeeNNNNaaaammmmeeee() method and error messages.
  301.  
  302.           The _f_o_r_m_a_t argument specifies the desired file format.  If _f_o_r_m_a_t is
  303.           NULL, the format is chosen by using the filename's extension.  If no
  304.           match is found, the format iiiiffffllllFFFFoooorrrrmmmmaaaatttt::::::::ffffiiiinnnnddddBBBByyyyFFFFoooorrrrmmmmaaaattttNNNNaaaammmmeeee("TIFF") is
  305.           used by default.
  306.  
  307.           The alternate form taking a _d_e_s_c argument, encapsulates the _f_d,
  308.           _f_i_l_e_n_a_m_e and _f_o_r_m_a_t arguments in this single argument.  See
  309.           iflFileDesc(3) for more details.
  310.  
  311.           The dimensions, data type, dimension order,  color model,
  312.           orientation, compression, and page dimensions may be  specified
  313.           using the _c_f_g parameter; if not, they are copied from  the _s_o_u_r_c_e
  314.           image if one was given (as described below) or  defaulted to the
  315.           format's "preferred" value for the respective  parameter.
  316.  
  317.           When an existing _s_o_u_r_c_e image is specified; any parameters not
  318.           specified in the _c_f_g parameter will be copied from this source image
  319.           (if the value is supported by the destination format) or
  320.           heuristically selected to be a supported value most suitable for
  321.           copying data from the source image.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  335.  
  336.  
  337.  
  338.           If there is an error on the create operation an error status will be
  339.           returned and the object's status will be set to the same value.
  340.  
  341.      ffffrrrreeeeeeeeIIIICCCCCCCCPPPPrrrrooooffffiiiilllleeee(((())))
  342.  
  343.           ilStatus ilFileImgFreeICCProfile(ilFileImg *obj, void* profile)
  344.  
  345.  
  346.           The member function frees the profile returned by ggggeeeettttIIIICCCCCCCCPPPPrrrrooooffffiiiilllleeee().
  347.  
  348.      ggggeeeettttCCCCuuuurrrrrrrreeeennnnttttIIIImmmmgggg(((())))
  349.  
  350.           int ilFileImgGetCurrentImg(ilFileImg *obj)
  351.  
  352.  
  353.           This function returns the index of the current image.
  354.  
  355.      ggggeeeettttFFFFiiiilllleeeeDDDDeeeesssscccc(((())))
  356.  
  357.           int ilFileImgGetFileDesc(ilFileImg *obj)
  358.  
  359.  
  360.           This function returns the file descriptor of the associated file.
  361.  
  362.      ggggeeeettttFFFFiiiilllleeeeHHHHaaaannnnddddlllleeee(((())))
  363.  
  364.           iflFile* ilFileImgGetFileHandle(ilFileImg *obj)
  365.  
  366.  
  367.           This method provides direct access to the underlying iflFile object.
  368.           Direct access to the iflFile object should be avoided whenever
  369.           possible.  The ggggeeeettttIIIItttteeeemmmm()/sssseeeettttIIIItttteeeemmmm() methods are the preferred
  370.           mechanism for dealing with format specific issues.
  371.  
  372.      ggggeeeettttFFFFiiiilllleeeeMMMMooooddddeeee(((())))
  373.  
  374.           int ilFileImgGetFileMode(ilFileImg *obj)
  375.  
  376.  
  377.           This function returns the file mode of the associated file. See
  378.           <_s_y_s/_f_c_n_t_l._h>.
  379.  
  380.      ggggeeeettttFFFFiiiilllleeeeNNNNaaaammmmeeee(((())))
  381.  
  382.           const char* ilFileImgGetFileName(ilFileImg *obj)
  383.  
  384.  
  385.           This function returns the name of the associated file.
  386.  
  387.      ggggeeeettttIIIICCCCCCCCPPPPrrrrooooffffiiiilllleeee(((())))
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  401.  
  402.  
  403.  
  404.           ilStatus ilFileImgGetICCProfile(ilFileImg *obj, int* size,
  405.                                           void** profile)
  406.  
  407.  
  408.           This virtual member function returns the value of the ICC profile
  409.           associated with the image.  The return value is iflOKAY on success,
  410.           or an appropriate iflStatus error value on failure.  See iflFile(3)
  411.           for more details on ICC profiles.
  412.  
  413.      ggggeeeettttIIIImmmmaaaaggggeeeeFFFFoooorrrrmmmmaaaatttt(((())))
  414.  
  415.           iflFormat* ilFileImgGetImageFormat(ilFileImg *obj)
  416.  
  417.  
  418.           This function returns the format (as an iflFormat) of the associated
  419.           file.  The list of possible values depends on the currenly installed
  420.           file formats.
  421.  
  422.      ggggeeeettttIIIImmmmaaaaggggeeeeFFFFoooorrrrmmmmaaaattttNNNNaaaammmmeeee(((())))
  423.  
  424.           const char* ilFileImgGetImageFormatName(ilFileImg *obj)
  425.  
  426.  
  427.           This function returns name the format of the associated file.
  428.  
  429.      ggggeeeettttIIIItttteeeemmmm(((())))
  430.  
  431.           ilStatus ilFileImgGetItemV(ilFileImg *obj, int tag, va_list ap)
  432.  
  433.  
  434.           This method gets the value of an item associated with the current
  435.           image in the image file.
  436.  
  437.           The _t_a_g argument specifies the name of the item to be accessed; it
  438.           is interpreted by the specific iflFile subclass. The number and
  439.           types of the remaining arguments are determined the particular
  440.           subclass of iflFile and the tag value.
  441.  
  442.           The return value is iflOKAY on success, or an appropriate iflStatus
  443.           error value on failure.
  444.  
  445.           The second overloaded form of this method is used by libraries that
  446.           are passing along a variable calling sequence in _a_p through some
  447.           wrapper layer.
  448.  
  449.      ggggeeeettttNNNNuuuummmmIIIImmmmggggssss(((())))
  450.  
  451.           int ilFileImgGetNumImgs(ilFileImg *obj)
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  467.  
  468.  
  469.  
  470.           This function returns the number of images in the associated file.
  471.  
  472.      ooooppppeeeennnnFFFFiiiilllleeee(((())))
  473.  
  474.           ilStatus ilFileImgOpenFile(ilFileImg *obj, const char* filename,
  475.                                      int mode, iflFormat* format)
  476.           ilStatus ilFileImgIlFileImgOpenFileByIflDescriptor(ilFileImg *obj,
  477.                                                              iflFileDesc* desc,
  478.                                                              int mode)
  479.           ilStatus ilFileImgIlFileImgOpenFileByDescriptor(ilFileImg *obj,
  480.                                                           int fd,
  481.                                                           const char* filename,
  482.                                                           int mode,
  483.                                                           iflFormat* format)
  484.  
  485.  
  486.           These methods are used to open an existing image file and associate
  487.           it with this object.
  488.  
  489.           The file is specified via the _f_i_l_e_n_a_m_e and _f_d arguments.  At least
  490.           one of these two arguments must be specified; they are interpreted
  491.           as follows.
  492.  
  493.               if filename != NULL and fd == -1:
  494.                   opens the file with the given filename.
  495.               if filename == NULL and fd != -1:
  496.                   uses the existing open file descriptor.
  497.               if filename != NULL and fd != -1:
  498.                   uses the existing open file descriptor; the filename is
  499.                   stored solely for the ggggeeeettttFFFFiiiilllleeeeNNNNaaaammmmeeee() method and error messages.
  500.  
  501.           The file name may be followed by an optional sub-image index using
  502.           the syntax "filename:index" (see sssseeeettttCCCCuuuurrrrrrrreeeennnnttttIIIImmmmaaaaggggeeee() for how to change
  503.           the sub-image index after the file is opened).
  504.  
  505.           The mode argument specifies the desired access mode; it should be
  506.           either _O__R_D_O_N_L_Y or _O__R_D_W_R.
  507.  
  508.           The _f_o_r_m_a_t argument specifies the desired file format.  The usual
  509.           usage is to use NULL in which case the file format is deduced by the
  510.           file typing rules using the file's contents ("magic number"); this
  511.           mechanism can be bypassed by specifying the format explicitly.
  512.  
  513.           The alternate form taking a _d_e_s_c argument, encapsulates the _f_d,
  514.           _f_i_l_e_n_a_m_e and _f_o_r_m_a_t arguments in this single argument.  See
  515.           iflFileDesc(3) for more details.
  516.  
  517.           If there is an error on the open operation an error status will be
  518.           returned and the object's status will be set to the same value.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  533.  
  534.  
  535.  
  536.      sssseeeettttCCCCuuuurrrrrrrreeeennnnttttIIIImmmmgggg(((())))
  537.  
  538.           ilStatus ilFileImgSetCurrentImg(ilFileImg *obj, int idx)
  539.  
  540.  
  541.           This function sets the index of the current image to _i_d_x.  If
  542.           successful, this function returns ilOKAY; otherwise (if _i_d_x is not a
  543.           valid image index) ilOUTOFBOUND is returned and the image index is
  544.           not changed.  This function also sets the altered flag.
  545.  
  546.      sssseeeettttIIIICCCCCCCCPPPPrrrrooooffffiiiilllleeee(((())))
  547.  
  548.           ilStatus ilFileImgSetICCProfile(ilFileImg *obj, int size,
  549.                                           const void* profile)
  550.  
  551.  
  552.           This member function sets the value of the ICC profile associated
  553.           with the image.  The return value is ilOKAY on success, or an
  554.           appropriate ilStatus error value on failure.  See iflFile(3) for
  555.           more details on ICC profiles.
  556.  
  557.      sssseeeettttIIIItttteeeemmmm(((())))
  558.  
  559.           ilStatus ilFileImgSetItemV(ilFileImg *obj, int tag, va_list ap)
  560.  
  561.  
  562.           This method sets the value of an item associated with the current
  563.           image in the image file.
  564.  
  565.           Calling sssseeeettttIIIItttteeeemmmm() may change some image attributes. If this occurs
  566.           the cache for the image will be automatically invalidated.
  567.  
  568.           The _t_a_g argument specifies the name of the item to be set; it is
  569.           interpreted by the specific iflFile subclass.  The number and types
  570.           of the remaining arguments are determined the particular subclass of
  571.           iflFile and the tag value.
  572.  
  573.           The return value is iflOKAY on success, or an appropriate iflStatus
  574.           error value on failure.
  575.  
  576.           The second overloaded form of this method is used by libraries that
  577.           are passing along a variable calling sequence in _a_p through some
  578.           wrapper layer.
  579.  
  580. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
  581.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllMMMMeeeemmmmCCCCaaaacccchhhheeeeIIIImmmmgggg
  582.      ilMemCacheImgEnableMP(), ilMemCacheImgGetPageTime(),
  583.      ilMemCacheImgGetRetainMode(), ilMemCacheImgGetThrashMode(),
  584.      ilMemCacheImgGetThrashTime(), ilMemCacheImgGetTotalPageTime(),
  585.      ilMemCacheImgIsMPenabled(), ilMemCacheImgSetRetainMode(),
  586.      ilMemCacheImgSetThrashMode()
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  599.  
  600.  
  601.  
  602.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllCCCCaaaacccchhhheeeeIIIImmmmgggg
  603.      ilCacheImgFlush(), ilCacheImgGetCacheSize()
  604.  
  605.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllIIIImmmmaaaaggggeeee
  606.      ilAddInput(), ilAllocFillData(), ilClipTile(), ilClipTileAsTile(),
  607.      ilClipTileFloat(), ilClipTileFloatAsTile(),
  608.      ilConfigureRetainedCacheImage(), ilCopy(), ilCopyTile(), ilCopyTile3D(),
  609.      ilCopyTileCfg(), ilFillTile(), ilFillTile3D(), ilFillTileRGB(),
  610.      ilFreeFillData(), ilGetColorImg(), ilGetColorModel(), ilGetColormap(),
  611.      ilGetColormapPtr(), ilGetCompression(), ilGetConfig(), ilGetCsize(),
  612.      ilGetDataType(), ilGetDimensions(), ilGetDirectInput(),
  613.      ilGetDisplayCacheEnable(), ilGetFill(), ilGetFillData(),
  614.      ilGetFillValue(), ilGetHeight(), ilGetHwEnable(), ilGetHwHint(),
  615.      ilGetHwHintName(), ilGetHwIntHint(), ilGetHwIntHintName(), ilGetInput(),
  616.      ilGetInputTileRequirement(), ilGetLockTileSet(), ilGetMappedPageSize(),
  617.      ilGetMappedSize(), ilGetMaxColormapLevels(), ilGetMaxValue(),
  618.      ilGetMinValue(), ilGetNumChans(), ilGetNumInputs(), ilGetOrder(),
  619.      ilGetOrientation(), ilGetPageBorder(), ilGetPageBorderPtr(),
  620.      ilGetPageBorderX(), ilGetPageBorderY(), ilGetPageBorderZ(),
  621.      ilGetPageCounts(), ilGetPageDelta(), ilGetPageDeltaStruct(),
  622.      ilGetPageDimensions(), ilGetPageIndices(), ilGetPageOrigin(),
  623.      ilGetPageOriginC(), ilGetPageOriginStruct(), ilGetPageOriginX(),
  624.      ilGetPageOriginY(), ilGetPageOriginZ(), ilGetPageSize(),
  625.      ilGetPageSizeBytes(), ilGetPageSizeC(), ilGetPageSizePix(),
  626.      ilGetPageSizeStruct(), ilGetPageSizeVal(), ilGetPageSizeX(),
  627.      ilGetPageSizeXY(), ilGetPageSizeY(), ilGetPageSizeZ(), ilGetPixel(),
  628.      ilGetPixel3D(), ilGetPriority(), ilGetScaleMax(), ilGetScaleMin(),
  629.      ilGetSize(), ilGetSizePtr(), ilGetStrides(), ilGetSubTile(),
  630.      ilGetSubTile3D(), ilGetTile(), ilGetTile3D(), ilGetWidth(), ilGetXsize(),
  631.      ilGetYsize(), ilGetZsize(), ilHasPageBorder(), ilHasPages(),
  632.      ilInitScaleMinMax(), ilIsColorImg(), ilIsIntegral(),
  633.      ilIsMirrorOrientation(), ilIsSigned(), ilIsWritable(), ilLockPage(),
  634.      ilLockPageSet(), ilLockTile(), ilLockTile3D(), ilMapFlipTrans(),
  635.      ilMapFromInput(), ilMapFromInput2D(), ilMapFromInput3D(),
  636.      ilMapFromSource(), ilMapFromSource2D(), ilMapFromSource3D(),
  637.      ilMapOrientation(), ilMapSize(), ilMapTile(), ilMapTileFlipTrans(),
  638.      ilMapTileFloat(), ilMapToInput(), ilMapToInput2D(), ilMapToInput3D(),
  639.      ilMapToSource(), ilMapToSource2D(), ilMapToSource3D(), ilMapXY(),
  640.      ilMapXYFloat(), ilMapXYSign(), ilQCopyTileCfg(), ilQFillTile3D(),
  641.      ilQFillTileRGB(), ilQGetSubTile3D(), ilQGetTile3D(), ilQLockPageSet(),
  642.      ilQSetSubTile3D(), ilQSetTile3D(), ilRemoveHwHint(),
  643.      ilRemoveHwHintName(), ilRemoveInput(), ilSetColorModel(),
  644.      ilSetColormap(), ilSetCompression(), ilSetCsize(), ilSetDataType(),
  645.      ilSetDisplayCacheEnable(), ilSetFill(), ilSetFillValue(),
  646.      ilSetHwEnable(), ilSetHwHint(), ilSetHwIntHint(), ilSetHwIntHintName(),
  647.      ilSetInput(), ilSetMaxColormapLevels(), ilSetMaxValue(), ilSetMinValue(),
  648.      ilSetNumChans(), ilSetOrder(), ilSetOrientation(), ilSetPageBorder(),
  649.      ilSetPageBorderStruct(), ilSetPageSize(), ilSetPageSizeC(),
  650.      ilSetPageSizeStruct(), ilSetPageSizeXY(), ilSetPageSizeZ(), ilSetPixel(),
  651.      ilSetPixel3D(), ilSetPriority(), ilSetScaleMinMax(), ilSetScaleType(),
  652.      ilSetSize(), ilSetSubTile(), ilSetSubTile3D(), ilSetTile(),
  653.      ilSetTile3D(), ilSetXYsize(), ilSetXsize(), ilSetYsize(), ilSetZsize(),
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllFFFFiiiilllleeeeIIIImmmmgggg((((3333))))
  665.  
  666.  
  667.  
  668.      ilUnlockPage(), ilUnlockPageSet()
  669.  
  670.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllLLLLiiiinnnnkkkk
  671.      ilLinkClearSet(), ilLinkClearStatus(), ilLinkGetDescription(),
  672.      ilLinkGetDirectParent(), ilLinkGetDisabledIndex(), ilLinkGetFloatProp(),
  673.      ilLinkGetGenerationID(), ilLinkGetIntProp(), ilLinkGetNumChildren(),
  674.      ilLinkGetNumParents(), ilLinkGetParent(), ilLinkGetPtrProp(),
  675.      ilLinkGetRelatedChild(), ilLinkGetRelatedDelete(),
  676.      ilLinkGetRelatedType(), ilLinkGetStatus(), ilLinkIsAllowed(),
  677.      ilLinkIsAltered(), ilLinkIsEnabled(), ilLinkIsRelated(), ilLinkIsSet(),
  678.      ilLinkRemoveParent(), ilLinkRemoveProp(), ilLinkSetDescription(),
  679.      ilLinkSetDisabledIndex(), ilLinkSetEnabled(), ilLinkSetParent(),
  680.      ilLinkSetProp(), ilLinkSetRelatedDelete(), ilLinkSetRelatedType()
  681.  
  682.  
  683. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  684.      ilMemCacheImg, ilCacheImg, ilImage, ilLink, iflFile, iflFormat,
  685.      iflFileConfig, iflFileDesc
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.